package com.wanghlme.bookstore.service;

import com.wanghlme.bookstore.bean.Cart;
import com.wanghlme.bookstore.entity.Trade;
import com.baomidou.mybatisplus.extension.service.IService;

import java.util.List;

/**
 * 订单操作业务接口
 *
 * @author WangHailong
 */
public interface TradeService extends IService<Trade> {

    /**
     * 生成一个订单
     *
     * @param cart       购物车
     * @param userinfoId 用户 ID
     * @param addressId  地址 ID
     * @return 订单编号
     */
    String insertTrade(Cart cart, String userinfoId, String addressId);

    /**
     * 查询该用户的所有订单
     *
     * @param userinfoId 用户 ID
     * @return 查询到的订单列表
     */
    List<Trade> listTradeByUserinfoId(String userinfoId);

    /**
     * 查询处于某订单状态的所有订单
     *
     * @param status 订单状态
     * @return 查询到的订单列表
     */
    List<Trade> listTradeByStatus(int status);

    /**
     * 更新订单发货状态
     *
     * @param tradeId 订单 ID
     * @param status  订单状态
     * @return 操作结果
     */
    boolean updateTradeStatus(String tradeId, int status);

}
